package com.nb.pojo1;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("people3")
public class People {
    /*
    *注解简单属性的赋值：@Value
	*1、在属性定义的上面，无需set方法，推荐使用
	*2、在set方法上面
    * */
    @Value("张三")
    private String name;
    private int age;

    /*
     *注解引用属性的赋值：@Autowired,spring框架提供的注解，实现引用类型的赋值
     *                使用的自动注入原理，byName,byType
     *@Autowired:默认使用byType
     *Autowired的属性：required,默认值为true，表示引用类型赋值失败，程序报错，并终止执行
     *如果requirde的属性值为false，程序的代码不会报错，引用类型的属性值为null
     *1、在属性定义的上面，无需set方法，推荐使用
     *2、在set方法上面
     * */
    @Autowired
    private School school;

    @Value("25")
    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "People{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", school=" + school +
                '}';
    }
}
